import {isNull} from "@/utils/validate.js";

function getColor(styleArray, value, defaultColor) {
    let obj = styleArray.find(item => item.value === value)
    return isNull(obj) ? defaultColor : obj.color
}

const statusStyles = [
    {
        'value': '拟稿',
        'backgroundColor': '#A3E4D7',
        'color': '#000',
    },
    {
        'value': '审核修订',
        'backgroundColor': '#FFB878',
        'color': '#000',
    },
    {
        'value': '会签',
        'backgroundColor': '#e5a641',
        'color': '#fff',
    },
    {
        'value': '领导签发',
        'backgroundColor': '#FF8C69',
        'color': '#fff',
    },
    {
        'value': '清稿套红',
        'backgroundColor': '#EC7063',
        'color': '#fff',
    },
    {
        'value': '签章',
        'backgroundColor': '#C0392B',
        'color': '#fff',
    },
    {
        'value': '分发',
        'backgroundColor': '#5DADE2',
        'color': '#fff',
    },
    {
        'value': '办结',
        'backgroundColor': '#8BC34A',
        'color': '#fff',
    },
    {
        'value': '归档',
        'backgroundColor': '#95A5A6',
        'color': '#fff',
    },
    {
        'value': '已废弃',
        'backgroundColor': '#616a6b',
        'color': '#fff',
    }
]

export const getDocStatusStyle = (value) => {
    let defaultColor = {
        'backgroundColor': '#aec6fa',
        'color': '#000'
    }
    let obj = statusStyles.find(item => item.value === value)
    return isNull(obj) ? defaultColor : {
        'backgroundColor': obj.backgroundColor,
        'color': obj.color
    }
}

const urgencyStyles = [
    {
        'value': '普通',
        'color': 'info'
    },
    {
        'value': '紧急',
        'color': 'warning'
    },
    {
        'value': '特急',
        'color': 'danger'
    }
]

export const getUrgencyStyle = (value) => {
    return getColor(urgencyStyles, value, 'info')
}

const secretLevelStyles = [
    {
        'value': '公开',
        'color': '#67C23A'
    },
    {
        'value': '限阅',
        'color': '#f8ac59'
    },
    {
        'value': '秘密',
        'color': '#ec7382'
    },
    {
        'value': '机密',
        'color': '#C03639'
    },
    {
        'value': '绝密',
        'color': '#ff0000'
    }
]

export const getSecretLevelStyle = (value) => {
    return getColor(secretLevelStyles, value, '#67C23A');
}

const receiveStatusStyles = [
    {
        'value': '待签收',
        'color': 'danger'
    },
    {
        'value': '已签收',
        'color': 'info'
    }
]

export const getReceiveStatusStyle = (value) => {
    return getColor(receiveStatusStyles, value, 'info')
}

//待办公文列表状态
export const docProcessListStatus = [
    {label: '待办', value: '待办'},
    {label: '已办', value: '已办'}
]

//公文交换列表状态
export const docExchangeListStatus = [
    {label: '单位发文', value: '单位发文'},
    {label: '单位收文', value: '单位收文'}
]

export function setCurrentIsRefreshAdvice(currentIsRefreshAdvice) {
    currentIsRefreshAdvice.value = true
    setTimeout(() => {
        currentIsRefreshAdvice.value = false
    }, 50)
}